package com.wy._02io.fileUtil;


import com.wy._02io.enums.FileTypeEnum;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;

// 魔数系列 方式
public class CreateFile {

    /**
     * 创建一个什么类型的文件   TODO:
     *
     * @param fileName 文件名字
     * @param path     文件路径
     * @param fileEnum 文件类型
     */
    private boolean createTo(String fileName, String path, FileTypeEnum fileEnum) {
        return false;
    }

    /**
     * 创建文件
     *
     * @param targetDir       目标目录
     * @param fileName        目标文件名字
     * @param includeOverride 如果文件存在是否覆盖
     * @return 返回创建成功与否
     */
    public static boolean createFile(String targetDir, String fileName, boolean includeOverride) {
        // 构建完整的文件路径
        File targetFile = new File(targetDir, fileName);

        // 检查文件是否存在
        if (targetFile.exists()) {
            // 如果文件存在并且不允许覆盖，则返回false
            if (!includeOverride) {
                return false;
            }
            // 如果允许覆盖，则删除原文件
            targetFile.delete();
        }

        // 创建新文件
        try {
            // 使用Files.createFile创建文件，该方法会抛出IOException
            Files.createFile(targetFile.toPath());
            return true; // 文件创建成功
        } catch (IOException e) {
            // 捕获异常，打印错误信息，并返回false
            e.printStackTrace();
            return false;
        }
    }


}
